This development kit has all the information you will need to begin taking advantage of the Display Manger API. The Display Manager 1.0 API was first introduced with the PowerMacs in System 7.1.2 and subsequently shipped in 7.5 and 7.5.1. The Display Manager 2.0 is included in post 7.5.1 systems and is also available as a system extension which is backward compatible to System 7.1. Licensing information for the Display Manager extension is included to make it as easy as possible for developers to create and ship Display Manager aware applications. The Display Library has been included into System 7.5.3.
Installing the Display Enabler
For most applications there is now little reason to require your users to install either the Display Enabler extenson or the Display Library if you are running on 7.5.3 or later systems. However, installing the Display Enabler will assure that the latest Display Manager is running.
Installers may determine whether to replace an existing Display Enabler file by comparing the 'verx' resources. The 'verx' resource is the same as the first 4 bytes of a 'vers' resource. If a Display Enabler does not have a 'verx' resource, then it should be replaced. Installers should be aware that under System 7.1 an installed Display Enabler file (like the System File) is always open. When installing on System 7.1, the user should run installers that install Display Enabler with extensions disabled.
What this development kit contains:
Read Me: The document you are now reading.
Display Manager Documentation: Adobe Acrobat and Apple DocViewer documents which contain information on the Display Manager 1.0 features and API. Documentation on Display Manager 2.0 features will be available soon.
Display Manager: Display Manager 2.0 system extension “Display Enabler” version 2.2.2. The file “Display Library” is needed to run PPC Display Manager 2.0 aware applications with systems earlier than 7.5.3. Systems 7.5.3 and later have the Display Library included within the system. The Display Enabler version 2.2.2 has added a few new features since the 2.2 release. First off, Display Enabler version 2.2.2 includes the latest Display Manager as well as the latest Button Manager and NuBus video driver patches that are shipping in System 8.0. Some of the added functionality included in this version of the Display Manager (as well as the Display Manager shipping in System 7.6.1 and later) is the support for DDC aware NDRV video drivers (see separate note on this support). This support allows the Display Manager to ask the video driver for the display's DDC information containing supported video resolutions. The Display Manager then parses this information and presents it to the user interface for user selection. The other major change is the save/restore of the display gamma settings across reboot. Now, whenever a call to DMSaveScreenPrefs is made, the current display configuration is saved (timing and bit depth) along with the current gamma setting for that display card. On restart the Display Manager will reset this gamma setting (at Finder launch time). There are control panels and special gamma setting extensions that will need to be revised to take advantage of this new behavior. Whenever the gamma settings are changed for user persistent reasons, the code making the change should call DMSaveScreenPrefs (0,0,0) to set that new gamma within the display preferences. Previously, the gamma settings were lost across restarts and it was up to an extension to reset the gamma. Again, with this new change, the Display Manager will reset the gamma preferences when the Finder launches.
Display Manager Sample Code: The PlayVideo sample application and the RequestVideo sample code library, will allow developers to explore the Display Manager API by changing bit depth and screen resolution on multisync displays attached to built-in, NuBus, and PCI based video. Display Flip FKey is yet another sample project which makes use of the RequestVideo sample code API, this time with an FKey wrapper
Compiler & Runtime Files: New (post E.T.O. 23) Displays.h/p/a and Video.h/p/a header files are included with this development kit. You will need to install these new universal header files only if they are newer than the ones inside your development environment. A link library called “DisplayLib” for the Display Manager 2.0 features (the link library “InterfaceLib” contains the Display Manager 1.0 link time entry points) is included for PowerPC application builds. A runtime library called “Display Library” which contains the PowerPC glue code to use the Display Manager 2.0 API is included and must be available to the application at runtime (the glue library “InterfaceLib” in PowerMac ROMs contains the Display Manager 1.0 glue code). To run a PowerPC application which uses the Display Manager 2.0 features, you must have the “Display Library” file within the Code Fragment Manager search path - in the same directory as the application or in the extensions folder. An alternative is to use the MPW MergeFragment command to place the runtime library directly inside your PowerPC application. Note that the MPW MergeFragment tool will only work with standard PowerPC applications in that there can be no other data in the data fork except PEF containers.
If you have any bug reports or comments, please don’t hesitate to email. You can contact us through the following:
Email: DEVSUPPORT@apple.com (provided you have Apple developer support access)
or
Ian Hendry: Email: hendry@apple.com
Eric3 Anderson: Email: eric3@apple.com
You can also place your comments in the Developer Talk bulletin boards on the internet or other public discussion areas.